package presentation;

import java.awt.Point;

import javax.swing.JPanel;

import controle.CCarte;
import controle.CTasDeCartes;

@SuppressWarnings("serial")
public class PTasDeCartes extends JPanel implements IPTas {
	
	private CTasDeCartes controle;
	public PTasDeCartes(CTasDeCartes cTasDeCartes) {
		this.controle = cTasDeCartes;
		setLayout(null);
	}

	@Override
	public void depiler() {
		 try {
			this.remove((PCarte)((CCarte) controle.getSommet()).getPresentation());
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	@Override
	public PCarte getBase() {
		PCarte carte=null;
		try {
			carte= (PCarte) ((CCarte) controle.getBase()).getPresentation();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return carte;
	}

	@Override
	public PCarte getCarte(int n) {
		PCarte carte=null;
		try {
			carte= (PCarte) ((CCarte) controle.getCarte(n)).getPresentation();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return carte;
	}

	@Override
	public PCarte getSommet() {
		try {
			return (PCarte) ((CCarte) controle.getSommet()).getPresentation();
		} catch (Exception e) {
			System.out.println(controle.getNom());
			//e.printStackTrace();
			return null;
		}
	}

	@Override
	public void empiler(IPCarte carte) {
		this.add((PCarte) carte,0);
		PCarte sommet = getSommet();
		
		if(sommet!=null){
			Point NO = sommet.getLocation();
			((PCarte)carte).setLocation((int)NO.getX(), (int)NO.getY()+10);
			//add((PCarte)carte);
		}else{
			((PCarte)carte).setLocation(0, 0);
		}
	}


	@Override

	public int getNombre() {
		return this.controle.getNombre();
	}
}
